<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>this底层原理</title>
</head>
<body>
    <script>
        // 函数 在内存中其实是独立的
        // {} 放在堆内存 ，引用关系  更大的空间
        // obj放在栈内存  obj 全局变量 内存地址
        // 不需要太多空间 存放在栈内存
        // 匿名函数 在独立的堆内存中，申请空间 obj.foo -> 引用关系
        // 执行时的上下文环境（作用域） 调入执行栈之中（js） js语言运行时，有执行栈

        var obj = {
            bar:1,
            foo:function() {
                console.log(this);
            }
        }
        // foo 存的是一个地址， 指向了函数所在的地址
        var foo = obj.foo; // 函数体
        var bar = 2;
        obj.foo();  // 对象函数  出栈
        foo();  // 全局函数

    </script>
</body>
</html>